During an engine cold start, it is often desirable to heat the engine to a preset temperature quickly to achieve high fuel economy. However, it is difficult for the engine to reach the preset temperature in a desired short duration. Further, in cold air conditions, there may exist a need to heat the cabin, which may further increase the time for the engine to operate at an optimized operating temperature. In another aspect, the heat of the engine exhaust gas is not utilized effectively.